package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 预警规则对象 warning_rule
 *
 * @author ruoyi
 * @date 2021-06-20
 */
@Data
public class WarningRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 规则名称 */
    @Excel(name = "规则名称")
    private String ruleTitle;

    /** 启用状态 */
    @Excel(name = "启用状态")
    private Integer enabledState;

    /** warningType */
    @Excel(name = "warningType")
    private Integer warningType;

    /** 预警等级 */
    @Excel(name = "预警等级")
    private String warningLevel;

    /** 文章类型 */
    @Excel(name = "文章类型")
    private String articleType;

    /** 开始预警时间 */
    @Excel(name = "开始预警时间")
    private String startWarningTime;

    /** 结束预警时间 */
    @Excel(name = "结束预警时间")
    private String endWarningTime;

    /** 关键字 */
    @Excel(name = "关键字")
    private String relatedWords;

    /** 舆情词 */
    @Excel(name = "舆情词")
    private String opinionWords;

    /** 排除词 */
    @Excel(name = "排除词")
    private String exclusionWords;

    /** 查询区域,all|title|content */
    @Excel(name = "查询区域,all|title|content")
    private String searchArea;

    /** 是否系统预警,1|0 */
    @Excel(name = "是否系统预警,1|0")
    private Integer isSystem;

    @ApiModelProperty(value = "情感特征")
    @TableField(exist = false)
    private List<String> emotion;

    @ApiModelProperty(value = "信息载体")
    @TableField(exist = false)
    private List<String> mediaType;


    @ApiModelProperty(value = "预警接收人")
    @TableField(exist = false)
    private List<Long> receiverList;

    @ApiModelProperty(value = "预警接收人")
    @TableField(exist = false)
    private List<RuleReceiver> receivers;

    @ApiModelProperty(value = "预警方式")
    @TableField(exist = false)
    private List<String> warningNoticeType;

    @ApiModelProperty(value = "预警方式")
    @TableField(exist = false)
    private List<RuleWarningNoticeType> warningTypes;


    /** 预警接收人 */
    @TableField(exist = false)
    private String warningNoticeUsername;

    /** 预警方式 */
    @TableField(exist = false)
    private String warningNoticeContent;

    /** 租户编码 */
    @Excel(name = "租户编码")
    private String tenantCode;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 部门编号 */
    @Excel(name = "部门编号")
    private Long deptId;



}